TPTP Problem File: ITP209^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP209^1 : TPTP v8.2.0. Released v8.1.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer problem Syntax_Match 00088_002922
% Version  : [Des22] axioms.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des22] Desharnais (2022), Email to Geoff Sutcliffe
% Source   : [Des22]
% Names    : 0023_Syntax_Match_00088_002922 [Des22]

% Status   : Theorem
% Rating   : 0.00 v8.2.0, 0.08 v8.1.0
% Syntax   : Number of formulae    :   17 (   6 unt;   6 typ;   0 def)
%            Number of atoms       :   20 (  13 equ;   0 cnn)
%            Maximal formula atoms :    3 (   1 avg)
%            Number of connectives :   93 (   0   ~;   0   |;   1   &;  86   @)
%                                         (   0 <=>;   6  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    7 (   4 avg)
%            Number of types       :    2 (   1 usr)
%            Number of type conns  :   17 (  17   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :    6 (   5 usr;   3 con; 0-2 aty)
%            Number of variables   :   35 (   1   ^;  34   !;   0   ?;  35   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            from the van Emde Boas Trees session in the Archive of Formal
%            proofs - 
%            www.isa-afp.org/browser_info/current/AFP/Van_Emde_Boas_Trees
%            2022-02-17 14:22:46.636
%------------------------------------------------------------------------------
% Could-be-implicit typings (1)
thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (5)
thf(sy_c_Syntax__Match_Oac__operator_001tf__a,type,
    syntax_ac_operator_a: ( a > a > a ) > $o ).

thf(sy_v_a,type,
    a2: a ).

thf(sy_v_b,type,
    b: a ).

thf(sy_v_c,type,
    c: a ).

thf(sy_v_f,type,
    f: a > a > a ).

% Relevant facts (10)
thf(fact_0_ac__operator__axioms,axiom,
    syntax_ac_operator_a @ f ).

% ac_operator_axioms
thf(fact_1_commute,axiom,
    ! [A: a,B: a] :
      ( ( f @ A @ B )
      = ( f @ B @ A ) ) ).

% commute
thf(fact_2_left__commute,axiom,
    ! [A: a,B: a,C: a] :
      ( ( f @ A @ ( f @ B @ C ) )
      = ( f @ B @ ( f @ A @ C ) ) ) ).

% left_commute
thf(fact_3_right__assoc,axiom,
    ! [A: a,B: a,C: a] :
      ( ( f @ ( f @ A @ B ) @ C )
      = ( f @ A @ ( f @ B @ C ) ) ) ).

% right_assoc
thf(fact_4_ac__operator_Ointro,axiom,
    ! [F: a > a > a] :
      ( ! [A2: a,B2: a,C2: a] :
          ( ( F @ ( F @ A2 @ B2 ) @ C2 )
          = ( F @ A2 @ ( F @ B2 @ C2 ) ) )
     => ( ! [A2: a,B2: a] :
            ( ( F @ A2 @ B2 )
            = ( F @ B2 @ A2 ) )
       => ( syntax_ac_operator_a @ F ) ) ) ).

% ac_operator.intro
thf(fact_5_ac__operator_Ocommute,axiom,
    ! [F: a > a > a,A: a,B: a] :
      ( ( syntax_ac_operator_a @ F )
     => ( ( F @ A @ B )
        = ( F @ B @ A ) ) ) ).

% ac_operator.commute
thf(fact_6_ac__operator_Oleft__assoc,axiom,
    ! [F: a > a > a,A: a,B: a,C: a] :
      ( ( syntax_ac_operator_a @ F )
     => ( ( F @ A @ ( F @ B @ C ) )
        = ( F @ ( F @ A @ B ) @ C ) ) ) ).

% ac_operator.left_assoc
thf(fact_7_ac__operator_Oright__assoc,axiom,
    ! [F: a > a > a,A: a,B: a,C: a] :
      ( ( syntax_ac_operator_a @ F )
     => ( ( F @ ( F @ A @ B ) @ C )
        = ( F @ A @ ( F @ B @ C ) ) ) ) ).

% ac_operator.right_assoc
thf(fact_8_ac__operator_Oleft__commute,axiom,
    ! [F: a > a > a,A: a,B: a,C: a] :
      ( ( syntax_ac_operator_a @ F )
     => ( ( F @ A @ ( F @ B @ C ) )
        = ( F @ B @ ( F @ A @ C ) ) ) ) ).

% ac_operator.left_commute
thf(fact_9_ac__operator__def,axiom,
    ( syntax_ac_operator_a
    = ( ^ [F2: a > a > a] :
          ( ! [A3: a,B3: a,C3: a] :
              ( ( F2 @ ( F2 @ A3 @ B3 ) @ C3 )
              = ( F2 @ A3 @ ( F2 @ B3 @ C3 ) ) )
          & ! [A3: a,B3: a] :
              ( ( F2 @ A3 @ B3 )
              = ( F2 @ B3 @ A3 ) ) ) ) ) ).

% ac_operator_def

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( f @ ( f @ a2 @ b ) @ c )
    = ( f @ ( f @ a2 @ c ) @ b ) ) ).

%------------------------------------------------------------------------------